﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;

namespace PerformanceAssessment.Models
{
    public class Employee : UserModel
    {
        
        [ForeignKey("Team")]
        public int IdTeam { get; set; }
        public int IdPosition { get; set; }
        [ForeignKey("Manager")]
        public int IdManager { get; set; }
        public string Ced { get; set; }
        [Required(ErrorMessage = "First Name is required")]
        public string FirstName { get; set; }
        public string FirstLastName { get; set; }
        public string SecondLastName { get; set; }
        public bool Active { get; set; }
        public string Email { get; set; }
        public short? IdContractor { get; set; }
        [DataType(DataType.Date)]
        public DateTime? StartDate { get; set; }
        [DataType(DataType.Currency)]
        public Decimal? Rate { get; set; }
        [DataType(DataType.Currency)]
        public Decimal? Salary { get; set; }

        public IEnumerable<SelectListItem> Managers { get; set; }
        public Guid IdUserApprover { get; set; }
        public IEnumerable<SelectListItem> Approvers { get; set; }

        public virtual List<Assessment> Assessments { get; set; }
        public virtual Team Team { get; set; }
        public virtual Manager Manager { get; set; }
    }

    public class EmployeeList
    {
        public int ID { get; set; }
        public String Team { get; set; }
        public String Ced { get; set; }
        public String Name { get; set; }
        public Boolean Active { get; set; }
        public String Email { get; set; }

        [DataType(DataType.Date)]
        public DateTime? StartDate { get; set; }
    }
    public class SysUsers
    {
        public Guid ID { get; set; }
        public String Name { get; set; }
    }

    public class ResetPaswordFields
    {
        [Required]
        public string UserName { get; set; }
    }
}